package internal.rest; import com.google.common.base.Charsets; import com.google.common.io.Files; import org.restlet.Response; import org.restlet.data.MediaType; import org.restlet.data.Method; import org.restlet.data.Parameter; import org.restlet.data.Reference; import org.restlet.ext.json.JsonRepresentation; import org.restlet.representation.Representation; import org.restlet.resource.ClientResource; import java.io.File; import java.nio.charset.Charset; import java.util.ArrayList; /** * Created with IntelliJ IDEA. * User: gpt * Date: 11/01/13 * Time: 14:33 * To change this template use File | Settings | File Templates. */ public class RestHelper { public static String getJsonData(Reference reference, Iterable<Parameter> extraParameters) throws java.io.IOException { reference.addQueryParameters(extraParameters); ClientResource cr = new ClientResource(reference); cr.setMethod(Method.GET); Representation rep = cr.get(MediaType.APPLICATION_JSON); String jsonData = rep.getText(); return jsonData; } public static String getJsonData(Reference reference, Parameter extraParameter) throws java.io.IOException { ArrayList<Parameter> extraParameters = new ArrayList<Parameter>(); extraParameters.add(extraParameter); return getJsonData(reference, extraParameters); } public static String getJsonData(Reference reference) throws java.io.IOException { ArrayList<Parameter> extraParameters = new ArrayList<Parameter>(); return getJsonData(reference, extraParameters); } public static String postJsonData(Reference reference, String jsonData, Iterable<Parameter> extraParameters) throws java.io.IOException { reference.addQueryParameters(extraParameters); ClientResource cr = new ClientResource(reference); cr.setMethod(Method.POST); Representation rep = cr.post(new JsonRepresentation(jsonData)); Response resp = cr.getResponse(); String jsonResponse = ""; String nid = ""; if (resp.getStatus().isSuccess()) { jsonResponse = resp.getEntity().getText(); return jsonResponse; } else { System.out.println(resp.getStatus().getName()); } return ""; } public static String postJsonData(Reference reference, String jsonData, Parameter extraParameter) throws java.io.IOException { ArrayList<Parameter> extraParameters = new ArrayList<Parameter>(); extraParameters.add(extraParameter); return postJsonData(reference, jsonData, extraParameters); } /* public static String postJsonData(Reference reference, String jsonData) throws java.io.IOException { ArrayList<Parameter> extraParameters = new ArrayList<Parameter>(); return postJsonData(reference, jsonData, extraParameters); } */ public static String postJsonData(Reference reference, String jsonData) throws java.io.IOException { File data = new File("temp.json"); return Files.toString(data, Charsets.UTF_8); } }